19 lines
846 B
Markdown
19 lines
846 B
Markdown
# `std::shared_ptr` impl for CS440
|
|
|
|
This repo contains code derived from the results of an assignment I completed as a part of my CS 440 class.
|
|
|
|
You will find the original CS 440 code at commit hash `74a843720e` the code now is rewritten.
|
|
|
|
There are two files in this repo `SharedPtr.hpp` and `SharedPtr_test.cpp` the former is the implementation and the latter is a test file originally provided by the class
|
|
|
|
## Building
|
|
|
|
The test executable can be build via `make` the only compiler which has been tested is `clang version 21.1.6`
|
|
|
|
## What is implemented
|
|
|
|
- Default and Raw pointer constructors
|
|
- Copy and Move Constructors and assignment operators (incrementing counter on copy)
|
|
- Destructor (decrementing counter if non-null)
|
|
- Static and Dynamic pointer casts
|
|
- Miscellaneous Pointer and Equality operations one would expect from a pointer
|