diff --git a/CppHeaderParser/CppHeaderParser.py b/CppHeaderParser/CppHeaderParser.py
index 6bcd961..9de8d6a 100644
--- a/CppHeaderParser/CppHeaderParser.py
+++ b/CppHeaderParser/CppHeaderParser.py
@@ -377,6 +377,48 @@ def filter_out_attribute_keyword(stack):
         return stack
 
 
+_nhack = re.compile(r"[A-Za-z_][A-Za-z0-9_]*")
+
+
+def _split_namespace(namestack):
+    """
+        Given a list of name elements, find the namespace portion
+        and return that as a string
+
+        :rtype: Tuple[str, list]
+    """
+    last_colon = None
+    for i, n in enumerate(namestack):
+        if n == ":":
+            last_colon = i
+        if i and n != ":" and not _nhack.match(n):
+            break
+
+    if last_colon:
+        ns, namestack = (
+            "".join(namestack[: last_colon + 1]),
+            namestack[last_colon + 1 :],
+        )
+    else:
+        ns = ""
+
+    return ns, namestack
+
+
+def _iter_ns_str_reversed(namespace):
+    """
+        Take a namespace string, and yield successively smaller portions
+        of it (ex foo::bar::baz::, foo::bar::, foo::). The last item yielded
+        will always be an empty string
+    """
+    if namespace:
+        parts = namespace.split("::")
+        for i in range(len(parts) - 1, 0, -1):
+            yield "::".join(parts[:i]) + "::"
+
+    yield ""
+
+
 class TagStr(str):
     """Wrapper for a string that allows us to store the line number associated with it"""
 
@@ -1577,6 +1619,19 @@ class Resolver(object):
                 result["fundamental"] = False
                 result["class"] = klass
                 result["unresolved"] = False
+            elif self.using:
+                # search for type in all enclosing namespaces
+                for ns in _iter_ns_str_reversed(result.get("namespace", "")):
+                    nsalias = ns + alias
+                    used = self.using.get(nsalias)
+                    if used:
+                        for i in ("type", "namespace", "ctypes_type", "raw_type"):
+                            if i in used:
+                                result[i] = used[i]
+                        result["unresolved"] = False
+                        break
+                else:
+                    result["unresolved"] = True
             else:
                 result["unresolved"] = True
         else:
@@ -2567,6 +2622,10 @@ class CppHeader(_CppHeader):
         self.anon_union_counter = [-1, 0]
         self.templateRegistry = []
 
+        #: Using directives in this header: key is full name for lookup, value
+        #: is :class:`.CppVariable`
+        self.using = {}
+
         if len(self.headerFileName):
             fd = io.open(self.headerFileName, "r", encoding=encoding)
             headerFileStr = "".join(fd.readlines())
@@ -3035,12 +3094,25 @@ class CppHeader(_CppHeader):
             len(self.nameStack) == 2 and self.nameStack[0] == "friend"
         ):  # friend class declaration
             pass
-        elif (
-            len(self.nameStack) >= 2
-            and self.nameStack[0] == "using"
-            and self.nameStack[1] == "namespace"
-        ):
-            pass  # TODO
+        elif len(self.nameStack) >= 2 and self.nameStack[0] == "using":
+            if self.nameStack[1] == "namespace":
+                pass
+            else:
+                if len(self.nameStack) > 3 and self.nameStack[2] == "=":
+                    # using foo = ns::bar
+                    alias = self.nameStack[1]
+                    ns, stack = _split_namespace(self.nameStack[3:])
+                    atype = CppVariable(stack)
+                else:
+                    # using foo::bar
+                    ns, stack = _split_namespace(self.nameStack[1:])
+                    atype = CppVariable(stack)
+                    alias = atype["type"]
+
+                atype["namespace"] = ns
+                atype["raw_type"] = ns + atype["type"]
+                alias = self.current_namespace() + alias
+                self.using[alias] = atype
 
         elif is_enum_namestack(self.nameStack):
             debug_print("trace")

Doesn't resolve namespaces for types imported via `using`
```
#include <string>
namespace a {
    using std::string;
    using VoidFunction = std::function<void()>;

    void fn(string &s, VoidFunction fn);
}
```
It needs to tack on the namespace to the string/VoidFunction types. This does not cover `using namespace foo`, as that isn't doable using the information available to CppHeaderParser.
diff --git a/CppHeaderParser/test/test_CppHeaderParser.py b/CppHeaderParser/test/test_CppHeaderParser.py
index c877c85..2769419 100644
--- a/CppHeaderParser/test/test_CppHeaderParser.py
+++ b/CppHeaderParser/test/test_CppHeaderParser.py
@@ -5,11 +5,14 @@ import sys
 import CppHeaderParser as CppHeaderParser
 
 
-def filter_pameters(p):
+def filter_pameters(p, extra=[]):
     "Reduce a list of dictionaries to the desired keys for function parameter testing"
     rtn = []
     for d in p:
-        rtn.append({"name": d["name"], "desc": d["desc"], "type": d["type"]})
+        rd = {}
+        for k in ["name", "desc", "type"] + extra:
+            rd[k] = d.get(k)
+        rtn.append(rd)
     return rtn
 
 
@@ -2759,5 +2762,58 @@ class VarargFunc_TestCase(unittest.TestCase):
         self.assertEqual(len(vf["parameters"]), len(nvf["parameters"]))
 
 
+class UsingNamespace_TestCase(unittest.TestCase):
+    def setUp(self):
+        self.cppHeader = CppHeaderParser.CppHeader(
+            """
+using std::thing;
+namespace a {
+    using std::string;
+    using VoidFunction = std::function<void()>;
+
+    void fn(string &s, VoidFunction fn, thing * t);
+}
+""",
+            "string",
+        )
+
+    def test_using(self):
+        self.assertIn("a::string", self.cppHeader.using)
+        self.assertIn("a::VoidFunction", self.cppHeader.using)
+        self.assertIn("thing", self.cppHeader.using)
+
+    def test_fn(self):
+        self.maxDiff = None
+        self.assertEqual(len(self.cppHeader.functions), 1)
+        fn = self.cppHeader.functions[0]
+        self.assertEqual(fn["name"], "fn")
+        self.assertEqual(
+            filter_pameters(fn["parameters"], ["namespace", "raw_type"]),
+            [
+                {
+                    "type": "string",
+                    "name": "s",
+                    "desc": None,
+                    "namespace": "std::",
+                    "raw_type": "std::string",
+                },
+                {
+                    "type": "function<void ( )>",
+                    "name": "fn",
+                    "desc": None,
+                    "namespace": "std::",
+                    "raw_type": "std::function<void ( )>",
+                },
+                {
+                    "type": "thing",
+                    "name": "t",
+                    "desc": None,
+                    "namespace": "std::",
+                    "raw_type": "std::thing",
+                },
+            ],
+        )
+
+
 if __name__ == "__main__":
     unittest.main()

pip install -e .
parse_log_pytest
pytest
pytest
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
certifi==2021.5.30
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
ply==3.11
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
-e git+https://github.com/robotpy/robotpy-cppheaderparser.git@1300fb522ebe154d4b523d391f970252ff3144e8#egg=robotpy_cppheaderparser
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: robotpy-cppheaderparser
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - ply==3.11
prefix: /opt/conda/envs/robotpy-cppheaderparser

CppHeaderParser/test/test_CppHeaderParser.py::UsingNamespace_TestCase::test_fn CppHeaderParser/test/test_CppHeaderParser.py::UsingNamespace_TestCase::test_using
CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_SampleClass_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_SampleClass_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_SampleClass_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_SampleClass_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth1_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth1_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth1_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth1_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth2_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth2_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth2_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth2_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth3_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth3_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth3_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth3_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth4_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth4_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth4_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth4_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth5_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth5_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth5_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_meth5_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop1_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop1_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop1_TestCase::test_type CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop5_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop5_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_prop5_TestCase::test_type CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_Elephant_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_Elephant_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_Elephant_TestCase::test_namespace CppHeaderParser/test/test_CppHeaderParser.py::SampleClass_Elephant_TestCase::test_values CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_AlphaClass_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_AlphaClass_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_AlphaClass_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_AlphaClass_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaMethod_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaMethod_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaMethod_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaMethod_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaString_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaString_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_alphaString_TestCase::test_type CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_Zebra_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_Zebra_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_Zebra_TestCase::test_namespace CppHeaderParser/test/test_CppHeaderParser.py::AlphaClass_Zebra_TestCase::test_values CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_OmegaClass_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_OmegaClass_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_OmegaClass_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_OmegaClass_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_omegaString_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_omegaString_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_omegaString_TestCase::test_type CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_Rino_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_Rino_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_Rino_TestCase::test_namespace CppHeaderParser/test/test_CppHeaderParser.py::OmegaClass_Rino_TestCase::test_values CppHeaderParser/test/test_CppHeaderParser.py::Bug3488053_TestCase::test_private CppHeaderParser/test/test_CppHeaderParser.py::Bug3488053_TestCase::test_protected CppHeaderParser/test/test_CppHeaderParser.py::Bug3488053_TestCase::test_public CppHeaderParser/test/test_CppHeaderParser.py::Bug3488360_TestCase::test_Bananna_inherits CppHeaderParser/test/test_CppHeaderParser.py::Bug3488360_TestCase::test_BloodOrange_inherits CppHeaderParser/test/test_CppHeaderParser.py::Bug3488360_TestCase::test_ExcellentCake_inherits CppHeaderParser/test/test_CppHeaderParser.py::Bug3487551_TestCase::test_method_rtn_type CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_meth_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_meth_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_meth_TestCase::test_parameters CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_meth_TestCase::test_rtntype CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_prop_TestCase::test_doxygen CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_prop_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::SampleStruct_prop_TestCase::test_type CppHeaderParser/test/test_CppHeaderParser.py::Bird_TestCase::test_items_array CppHeaderParser/test/test_CppHeaderParser.py::Bird_TestCase::test_items_array_size CppHeaderParser/test/test_CppHeaderParser.py::Bird_TestCase::test_oneItem_array CppHeaderParser/test/test_CppHeaderParser.py::Bird_TestCase::test_otherItems_array CppHeaderParser/test/test_CppHeaderParser.py::Bird_TestCase::test_otherItems_array_size CppHeaderParser/test/test_CppHeaderParser.py::Monkey_TestCase::test_num_private_methods CppHeaderParser/test/test_CppHeaderParser.py::Monkey_TestCase::test_num_protected_methods CppHeaderParser/test/test_CppHeaderParser.py::Monkey_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::Chicken_TestCase::test_num_private_methods CppHeaderParser/test/test_CppHeaderParser.py::Chicken_TestCase::test_num_protected_methods CppHeaderParser/test/test_CppHeaderParser.py::Chicken_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::Chicken_TestCase::test_template CppHeaderParser/test/test_CppHeaderParser.py::Lizzard_TestCase::test_explicit_constructor CppHeaderParser/test/test_CppHeaderParser.py::Lizzard_TestCase::test_normal_constructor CppHeaderParser/test/test_CppHeaderParser.py::Owl_TestCase::test_num_private_methods CppHeaderParser/test/test_CppHeaderParser.py::Owl_TestCase::test_num_protected_methods CppHeaderParser/test/test_CppHeaderParser.py::Owl_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_Grape_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_a_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_a_type CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_b_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_b_type CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_c_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_d_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_e_exists CppHeaderParser/test/test_CppHeaderParser.py::Grape_TestCase::test_f_exists CppHeaderParser/test/test_CppHeaderParser.py::AnonHolderClass_TestCase::test_property CppHeaderParser/test/test_CppHeaderParser.py::CowClass_TestCase::test_class_declaration_method CppHeaderParser/test/test_CppHeaderParser.py::CowClass_TestCase::test_struct_declaration_method CppHeaderParser/test/test_CppHeaderParser.py::Mango_TestCase::test_virtual_inherits CppHeaderParser/test/test_CppHeaderParser.py::Eagle_TestCase::test_property CppHeaderParser/test/test_CppHeaderParser.py::Frog_TestCase::test_num_private_properties CppHeaderParser/test/test_CppHeaderParser.py::Cat_TestCase::test_num_private_properties CppHeaderParser/test/test_CppHeaderParser.py::Panda_TestCase::test_property_CONST_A CppHeaderParser/test/test_CppHeaderParser.py::Panda_TestCase::test_property_CONST_B CppHeaderParser/test/test_CppHeaderParser.py::Potato_TestCase::test_num_private_properties_potato CppHeaderParser/test/test_CppHeaderParser.py::Potato_TestCase::test_num_public_properties_potato_fwdstruct CppHeaderParser/test/test_CppHeaderParser.py::Hog_TestCase::test_num_private_properties_potato CppHeaderParser/test/test_CppHeaderParser.py::Hog_TestCase::test_property CppHeaderParser/test/test_CppHeaderParser.py::Hog_TestCase::test_union CppHeaderParser/test/test_CppHeaderParser.py::Hog_TestCase::test_union_member_a CppHeaderParser/test/test_CppHeaderParser.py::Hog_TestCase::test_union_member_b CppHeaderParser/test/test_CppHeaderParser.py::CherryClass_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::CherryClass_TestCase::test_num_public_properties CppHeaderParser/test/test_CppHeaderParser.py::GarlicClass_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::GarlicClass_TestCase::test_num_public_properties CppHeaderParser/test/test_CppHeaderParser.py::CarrotClass_TestCase::test_num_private_methods CppHeaderParser/test/test_CppHeaderParser.py::OliveStruct_TestCase::test_num_public_properties CppHeaderParser/test/test_CppHeaderParser.py::OliveStruct_TestCase::test_var_a CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_private_properties CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_public_properties CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_sub1_private_properties CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_sub1_public_properties CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_sub2_private_properties CppHeaderParser/test/test_CppHeaderParser.py::Rooster_TestCase::test_num_sub2_public_properties CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_0 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_1 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_10 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_11 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_12 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_13 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_14 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_15 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_16 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_17 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_18 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_19 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_2 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_20 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_21 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_22 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_23 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_24 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_25 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_26 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_27 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_28 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_29 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_3 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_30 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_31 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_32 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_33 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_34 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_35 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_36 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_37 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_38 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_4 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_5 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_6 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_7 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_8 CppHeaderParser/test/test_CppHeaderParser.py::OperatorClass_TestCase::test_op_9 CppHeaderParser/test/test_CppHeaderParser.py::CrowClass_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::CrowClass_TestCase::test_num_public_slot_methods CppHeaderParser/test/test_CppHeaderParser.py::CrowClass_TestCase::test_rtntype_public_slot_method CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_function_pointer_field_0 CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_function_pointer_field_1 CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_name_0 CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_name_1 CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_type_0 CppHeaderParser/test/test_CppHeaderParser.py::DriverFuncs_TestCase::test_type_1 CppHeaderParser/test/test_CppHeaderParser.py::Snail_TestCase::test_param_name CppHeaderParser/test/test_CppHeaderParser.py::Snail_TestCase::test_rtn_type CppHeaderParser/test/test_CppHeaderParser.py::Quale_TestCase::test_rtn_type CppHeaderParser/test/test_CppHeaderParser.py::Rock_TestCase::test_const_0 CppHeaderParser/test/test_CppHeaderParser.py::Rock_TestCase::test_const_1 CppHeaderParser/test/test_CppHeaderParser.py::Almond_TestCase::test_param_1_name CppHeaderParser/test/test_CppHeaderParser.py::Almond_TestCase::test_param_1_type CppHeaderParser/test/test_CppHeaderParser.py::Almond_TestCase::test_param_2_name CppHeaderParser/test/test_CppHeaderParser.py::Almond_TestCase::test_param_2_type CppHeaderParser/test/test_CppHeaderParser.py::Almond_TestCase::test_rtn_type CppHeaderParser/test/test_CppHeaderParser.py::Stone_TestCase::test_const_0 CppHeaderParser/test/test_CppHeaderParser.py::Stone_TestCase::test_const_1 CppHeaderParser/test/test_CppHeaderParser.py::Kangaroo_TestCase::test_num_joey_methods CppHeaderParser/test/test_CppHeaderParser.py::Kangaroo_TestCase::test_num_kangaroo_methods CppHeaderParser/test/test_CppHeaderParser.py::Ant_TestCase::test_num_constructor_1_params CppHeaderParser/test/test_CppHeaderParser.py::Ant_TestCase::test_num_constructor_2_params CppHeaderParser/test/test_CppHeaderParser.py::Onion_TestCase::test_class_template CppHeaderParser/test/test_CppHeaderParser.py::Onion_TestCase::test_num_public_properties_red CppHeaderParser/test/test_CppHeaderParser.py::Onion_TestCase::test_num_public_properties_sweet CppHeaderParser/test/test_CppHeaderParser.py::BlueJay_TestCase::test_num_public_methods CppHeaderParser/test/test_CppHeaderParser.py::Pea_TestCase::test_name_inherits CppHeaderParser/test/test_CppHeaderParser.py::Pea_TestCase::test_num_inherits CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_Worm CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_Worm_Constructor CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_Worm_getName CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_Worm_namep CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_function1 CppHeaderParser/test/test_CppHeaderParser.py::line_num_TestCase::test_lineno_function2 CppHeaderParser/test/test_CppHeaderParser.py::Pear_TestCase::test_property CppHeaderParser/test/test_CppHeaderParser.py::Beans_TestCase::test_anonymous_union_name CppHeaderParser/test/test_CppHeaderParser.py::Beans_TestCase::test_second_anonymous_union_name CppHeaderParser/test/test_CppHeaderParser.py::termite_TestCase::test_termite_function CppHeaderParser/test/test_CppHeaderParser.py::Japyx_TestCase::test_japyxFunc CppHeaderParser/test/test_CppHeaderParser.py::Author_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::Fly_TestCase::test_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassAfterMagicMacro_TestCase::test_class_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassRegularTypedefs_TestCase::test_AfterTypedefClass_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassRegularTypedefs_TestCase::test_SmartObjPtr_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassRegularTypedefs_TestCase::test_StrStrMap_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassRegularTypedefs_TestCase::test_string_array_exists CppHeaderParser/test/test_CppHeaderParser.py::ClassRegularTypedefs_TestCase::test_uint_exists CppHeaderParser/test/test_CppHeaderParser.py::LineNumAfterDivide_TestCase::test_line_num CppHeaderParser/test/test_CppHeaderParser.py::ClassHerbCilantro_TestCase::test_HerbCilantro_exists CppHeaderParser/test/test_CppHeaderParser.py::print_statement_TestCase::test_function_name_type CppHeaderParser/test/test_CppHeaderParser.py::print_statement_TestCase::test_return_type CppHeaderParser/test/test_CppHeaderParser.py::Garlic_TestCase::test_function_exists CppHeaderParser/test/test_CppHeaderParser.py::Wheat_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::Wheat_TestCase::test_typedef CppHeaderParser/test/test_CppHeaderParser.py::PeachPlumb_TestCase::test_Peach_exists CppHeaderParser/test/test_CppHeaderParser.py::PeachPlumb_TestCase::test_Plumb_exists CppHeaderParser/test/test_CppHeaderParser.py::PeachPlumb_TestCase::test_function_exists CppHeaderParser/test/test_CppHeaderParser.py::Avacado_TestCase::test_Avacado_exists CppHeaderParser/test/test_CppHeaderParser.py::Avacado_TestCase::test_bar_return_type CppHeaderParser/test/test_CppHeaderParser.py::Avacado_TestCase::test_foo_return_type CppHeaderParser/test/test_CppHeaderParser.py::Raspberry_TestCase::test_Raspberry_exists CppHeaderParser/test/test_CppHeaderParser.py::Raspberry_TestCase::test_a_exists CppHeaderParser/test/test_CppHeaderParser.py::Raspberry_TestCase::test_anon_struct_1_exists CppHeaderParser/test/test_CppHeaderParser.py::Raspberry_TestCase::test_beta_exists CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_a CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_b CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_c CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_d CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_s1 CppHeaderParser/test/test_CppHeaderParser.py::Hen_TestCase::test_default_s2 CppHeaderParser/test/test_CppHeaderParser.py::Raddish_TestCase::test_Avacado_exists CppHeaderParser/test/test_CppHeaderParser.py::Raddish_TestCase::test_class_template CppHeaderParser/test/test_CppHeaderParser.py::Carambola_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::Carambola_TestCase::test_typedef CppHeaderParser/test/test_CppHeaderParser.py::Carambola_TestCase::test_values CppHeaderParser/test/test_CppHeaderParser.py::Globals_TestCase::test_externVar_extern CppHeaderParser/test/test_CppHeaderParser.py::Globals_TestCase::test_externVar_name CppHeaderParser/test/test_CppHeaderParser.py::Globals_TestCase::test_globalVar_extern CppHeaderParser/test/test_CppHeaderParser.py::Globals_TestCase::test_globalVar_name CppHeaderParser/test/test_CppHeaderParser.py::TypedefArray_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::TypedefArray_TestCase::test_value CppHeaderParser/test/test_CppHeaderParser.py::TypedefStruct_TestCase::test_name CppHeaderParser/test/test_CppHeaderParser.py::TypedefStruct_TestCase::test_value CppHeaderParser/test/test_CppHeaderParser.py::Picture_TestCase::test_array_size CppHeaderParser/test/test_CppHeaderParser.py::Picture_TestCase::test_multi_dimensional_array_size CppHeaderParser/test/test_CppHeaderParser.py::Apricot_TestCase::test_Apricot_exists CppHeaderParser/test/test_CppHeaderParser.py::Apricot_TestCase::test_f_exists CppHeaderParser/test/test_CppHeaderParser.py::Apricot_TestCase::test_i_exists CppHeaderParser/test/test_CppHeaderParser.py::Apricot_TestCase::test_s_exists CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lemon_foo2_is_not_final CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lemon_foo_is_final CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lemon_not_final CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lime_abc_is_not_override CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lime_final CppHeaderParser/test/test_CppHeaderParser.py::LemonLime_TestCase::test_lime_foo2_is_not_override CppHeaderParser/test/test_CppHeaderParser.py::JSON_TestCase::test_can_parse_complex_file CppHeaderParser/test/test_CppHeaderParser.py::Mouse_TestCase::test_MouseClass_exists CppHeaderParser/test/test_CppHeaderParser.py::Mouse_TestCase::test_mouse_typedef_correct_value CppHeaderParser/test/test_CppHeaderParser.py::Fig_TestCase::test_Fig_exists CppHeaderParser/test/test_CppHeaderParser.py::Fig_TestCase::test_a_exists CppHeaderParser/test/test_CppHeaderParser.py::Olive_TestCase::test_Olive_exists CppHeaderParser/test/test_CppHeaderParser.py::Olive_TestCase::test_union_member_x CppHeaderParser/test/test_CppHeaderParser.py::Beet_TestCase::test_BeetEnum_exists CppHeaderParser/test/test_CppHeaderParser.py::Beet_TestCase::test_Beet_exists CppHeaderParser/test/test_CppHeaderParser.py::set_callback_TestCase::test_set_callback CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_const_noexcept CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_const_noexcept_noexcept_operator CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_const_noexcept_true CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_exists CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_no_noexcept_None CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_noexcept CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_noexcept_noexcept_operator CppHeaderParser/test/test_CppHeaderParser.py::Grackle_TestCase::test_Grackle_noexcept_true CppHeaderParser/test/test_CppHeaderParser.py::VarargFunc_TestCase::test_vararg_func
CppHeaderParser/test/test_CppHeaderParser.py::functions_TestCase::test_function_name_1 CppHeaderParser/test/test_CppHeaderParser.py::functions_TestCase::test_function_name_2 CppHeaderParser/test/test_CppHeaderParser.py::functions_TestCase::test_num_functions CppHeaderParser/test/test_CppHeaderParser.py::functions2_TestCase::test_function_name_1 CppHeaderParser/test/test_CppHeaderParser.py::functions2_TestCase::test_function_name_2 CppHeaderParser/test/test_CppHeaderParser.py::functions2_TestCase::test_num_functions CppHeaderParser/test/test_CppHeaderParser.py::Macro_TestCase::test_includes CppHeaderParser/test/test_CppHeaderParser.py::Macro_TestCase::test_pragmas CppHeaderParser/test/test_CppHeaderParser.py::Macro_TestCase::test_pragmas0 CppHeaderParser/test/test_CppHeaderParser.py::Macro_TestCase::test_pragmas1 CppHeaderParser/test/test_CppHeaderParser.py::Macro_TestCase::test_pragmas2 CppHeaderParser/test/test_CppHeaderParser.py::FilterMagicMacro_TestCase::test_line_num_is_correct CppHeaderParser/test/test_CppHeaderParser.py::FilterMagicMacro_TestCase::test_method_exists CppHeaderParser/test/test_CppHeaderParser.py::JSON_TestCase::test_hasLemon CppHeaderParser/test/test_CppHeaderParser.py::HALControlWord_TestCase::test_classes CppHeaderParser/test/test_CppHeaderParser.py::HALControlWord_TestCase::test_functions CppHeaderParser/test/test_CppHeaderParser.py::HALControlWord_TestCase::test_num_typedefs CppHeaderParser/test/test_CppHeaderParser.py::CommentEOF_TestCase::test_comment
CppHeaderParser/CppHeaderParser.py
CppHeaderParser/CppHeaderParser.py