diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-03-11 17:08:08 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-11 17:08:08 -0500 |
| commit | 5bcb342962634e9c36fe399a822e685bb2eb8d76 (patch) | |
| tree | 7f621e2932e3b7eb6d1c5121f382bdd23a8f5855 /source/core/slang-list.h | |
| parent | 4b74f994bf94217f174cf0fb02ed94abe62e9d7c (diff) | |
stdlib documentation (#1745)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Split out AST 'printing'.
* Replace listener with List<Section>
* Section -> Part.
* Kind -> Type Flags -> Kind for ASTPrinter::Part
* Improve comments around ASTPrinter.
* toString -> toText on Val derived types. toText appends to a StringBuilder.
* Added toSlice free function.
Added operator<< for Val derived types.
Use << where appropriate in doing toText.
* More work at mark down output.
* Fill in sourceloc for enum case.
Add more sophisticated location determination for EnumCase.
Refactored documentation output into DocMarkdownWriter.
* Improvements for sig output.
* Split up slang-doc into extractor and writer.
* WIP generic support for doc support.
* Some refactoring to make DocExtractor have potential to be used without Decls.
* Made doc extraction work without Decls.
* Output generic parameters.
* Add generic parameter extraction.
* Added writing variables.
* Add an interface test.
* Fix toArray.
* Support for extensions, and inheritance.
* Disable the doc test.
* Added flags to compileStdLib.
* More work around handling generics in markdown output.
* More improvements around associated type handling.
* List method names only once.
Output in/out/inout/const
* Fix namespace printing.
* WIP summarizing doc output.
* Small fixes and improvements for doc output.
* Output all stdlib in single doc file.
* Remove compile flags from addBuiltinSource.
* Find only unique signatures.
First pass at trying to get requirements.
* First pass at requirements for stdlib docs.
* Remove __ function/methods
* Added Target Availability
* Add markup access.
Make sections of stdlib hidden.
* MarkdownAccess -> Visibility
Add isVisible methods
Use ASTPrinter to print decl name.
* Add current stdlib doc output.
* Disable doc test for now.
* Fix clang issue.
* Don't use bullets and numbering , just use numbering.
* Put methods in source order.
* Fix bad-operator-call.slang test that fails because it now outputs out parameters as such.
* Refactor MarkDownWriter to separate 'extraction' from output.
* Fix typo around @ lines.
* Fix issue with extracting 'before' when preceeded by complex attributes/modifiers.
* Fix handling of generics with the same name.
* Work around for having overloading with generics - we don't want to output generic params as part of name.
* Remove generic paramters from name.
* Simplify handling of outputting overridable names.
Diffstat (limited to 'source/core/slang-list.h')
| -rw-r--r-- | source/core/slang-list.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/core/slang-list.h b/source/core/slang-list.h index 42820b492..08d9aa773 100644 --- a/source/core/slang-list.h +++ b/source/core/slang-list.h @@ -30,6 +30,8 @@ namespace Slang static const Index kInitialCount = 16; public: + typedef List ThisType; + List() : m_buffer(nullptr), m_count(0), m_capacity(0) { @@ -185,6 +187,28 @@ namespace Slang const T* getBuffer() const { return m_buffer; } T* getBuffer() { return m_buffer; } + bool operator==(const ThisType& rhs) const + { + if (&rhs == this) + { + return true; + } + const Index count = getCount(); + if (count != rhs.getCount()) + { + return false; + } + for (Index i = 0; i < count; ++i) + { + if ((*this)[i] != rhs[i]) + { + return false; + } + } + return true; + } + SLANG_FORCE_INLINE bool operator!=(const ThisType& rhs) const { return !(*this == rhs); } + void insert(Index idx, const T& val) { insertRange(idx, &val, 1); } void insertRange(Index idx, const T* vals, Index n) |
