| Note [TH abstraction violation] | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| TH/THC provide some hpp headers, which are proper C++ headers rather than | |
| C headers. These headers serve double duty as *internal implementation | |
| detail* headers, whose contents should largely not be used by external | |
| clients. | |
| Ideally, we would not install these headers at all; instead, you should | |
| use public functions (in headers like `THTensor.h`, NOT `THTensor.hpp`) | |
| to manipulate these structs. However, there are a few places | |
| in torch/csrc where we violate this abstraction. They are marked with | |
| a pointer to this note. Each of those sites will have to be refactored | |
| when we refactor the guts of THTensor and related structures. |