Skip to content

Commit 2c83056

Browse files
MaliaLaborkammce
andauthored
🚚 Add initial implementation
* 🎉 Setup strong_ptr repo * 🚚 move strong ptr to it's own repo * Delete .github/workflows/update_name.yml * Delete ARCHITECTURE.md * change requests --------- Co-authored-by: Khalil Estell <kammcecorp@gmail.com>
1 parent b1802e6 commit 2c83056

17 files changed

Lines changed: 3277 additions & 0 deletions

File tree

.clang-format

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
BasedOnStyle: Mozilla
2+
Language: Cpp
3+
UseTab: Never
4+
AlwaysBreakAfterReturnType: None
5+
AlwaysBreakAfterDefinitionReturnType: None
6+
AllowShortFunctionsOnASingleLine: None
7+
FixNamespaceComments: true
8+
SpacesBeforeTrailingComments: 2
9+
ColumnLimit: 80
10+
QualifierAlignment: Right

.clangd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CompileFlags:
2+
CompilationDatabase: .
3+
BuiltinHeaders: QueryDriver

.github/workflows/ci.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright 2024 - 2025 Khalil Estell and the libhal contributors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: ✅ CI
16+
17+
on:
18+
workflow_dispatch:
19+
pull_request:
20+
push:
21+
branches:
22+
- main
23+
schedule:
24+
- cron: "0 12 * * 0"
25+
26+
jobs:
27+
ci:
28+
uses: libhal/ci/.github/workflows/library_check.yml@5.x.y
29+
secrets: inherit
30+
31+
deploy_all_check:
32+
uses: libhal/ci/.github/workflows/deploy_all.yml@5.x.y
33+
secrets: inherit

.github/workflows/deploy.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 🚀 Deploy
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
types: [published]
7+
8+
jobs:
9+
deploy:
10+
if: startsWith(github.ref, 'refs/tags/')
11+
uses: libhal/ci/.github/workflows/deploy_all.yml@5.x.y
12+
with:
13+
version: ${{ github.ref_name }}
14+
secrets: inherit

.github/workflows/take.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright 2024 - 2025 Khalil Estell and the libhal contributors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# .github/workflows/take.yml
16+
name: 📛 assign issue to contributor
17+
on:
18+
issue_comment:
19+
20+
jobs:
21+
assign:
22+
name: Take an issue
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: take the issue
26+
uses: bdougie/take-action@main
27+
env:
28+
GITHUB_TOKEN: ${{ github.token }}
29+
with:
30+
message: Thanks for taking this issue! Let us know if you have any questions!

.gitignore

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Prerequisites
2+
*.d
3+
4+
# Compiled Object files
5+
*.slo
6+
*.lo
7+
*.o
8+
*.obj
9+
10+
# Precompiled Headers
11+
*.gch
12+
*.pch
13+
14+
# Compiled Dynamic libraries
15+
*.so
16+
*.dylib
17+
*.dll
18+
19+
# Fortran module files
20+
*.mod
21+
*.smod
22+
23+
# Compiled Static libraries
24+
*.lai
25+
*.la
26+
*.a
27+
*.lib
28+
29+
# Executables
30+
*.exe
31+
*.out
32+
*.app
33+
34+
# IDEs
35+
.vscode/
36+
archives/
37+
38+
# GDB
39+
.gdb_history
40+
41+
# Artifacts
42+
build/
43+
tools/
44+
45+
# lint artifacts
46+
compile_commands.json
47+
.cache/
48+
49+
# OS files
50+
.DS_Store
51+
52+
# Conan Files
53+
graph_info.json
54+
conaninfo.txt
55+
conan.lock
56+
conanbuildinfo.txt
57+
58+
# CMake
59+
CMakeUserPresets.json
60+

CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright 2024 - 2025 Khalil Estell and the libhal contributors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
cmake_minimum_required(VERSION 3.15)
15+
16+
project(strong_ptr LANGUAGES CXX)
17+
18+
libhal_unit_test(SOURCES
19+
tests/pointers.test.cpp
20+
tests/main.test.cpp
21+
)

CODE_OF_CONDUCT.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of
9+
experience, education, socio-economic status, nationality, personal appearance,
10+
race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or reject
41+
comments, commits, code, wiki edits, issues, and other contributions that are
42+
not aligned to this Code of Conduct, or to ban temporarily or permanently any
43+
contributor for other behaviors that they deem inappropriate, threatening,
44+
offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
This Code of Conduct also applies outside the project spaces when the Project
56+
Steward has a reasonable belief that an individual's behavior may have a
57+
negative impact on the project or its community.
58+
59+
## Conflict Resolution
60+
61+
We do not believe that all conflict is bad; healthy debate and disagreement
62+
often yield positive results. However, it is never okay to be disrespectful or
63+
to engage in behavior that violates the project’s code of conduct.
64+
65+
If you see someone violating the code of conduct, you are encouraged to address
66+
the behavior directly with those involved. Many issues can be resolved quickly
67+
and easily, and this gives people more control over the outcome of their
68+
dispute. If you are unable to resolve the matter for any reason, or if the
69+
behavior is threatening or harassing, report it. We are dedicated to providing
70+
an environment where participants feel welcome and safe.
71+
72+
We will investigate every complaint, but you may not receive a direct response.
73+
We will use our discretion in determining when and how to follow up on reported
74+
incidents, which may range from not taking action to permanent expulsion from
75+
the project and project-sponsored spaces. We will notify the accused of the
76+
report and provide them an opportunity to discuss it before any action is taken.
77+
The identity of the reporter will be omitted from the details of the report
78+
supplied to the accused. In potentially harmful situations, such as ongoing
79+
harassment or threats to anyone's safety, we may take action without notice.
80+
81+
## Attribution
82+
83+
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
84+
available at
85+
https://www.contributor-covenant.org/version/1/4/code-of-conduct/

CONTRIBUTING.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# How to Contribute
2+
3+
We would love to accept your patches and contributions to this project.
4+
5+
## Contribution process
6+
7+
### :raised_hand: Self Assigning to an Issue
8+
9+
If you find an issue you'd like to work on, simply type and submit a comment
10+
with the phrase `.take` in it to get assigned by our github actions.
11+
12+
### :pencil2: Pull Request Guidelines
13+
14+
1. Code must finish continuous integration steps before it will be reviewed.
15+
2. Commit messages should follow these guidelines here
16+
https://cbea.ms/git-commit/.
17+
3. Pull requests should contain a single commit
18+
4. Pull requests should be small and implement a single feature where possible.
19+
If it can be broken up into separate parts it most likely should be.
20+
5. Each PR should have an associated issue with it. Exceptions are made for very
21+
small PRs such as fixing typos, fixing up documentation or removing
22+
unnecessary headers.
23+
24+
### Code Reviews
25+
26+
All submissions, including submissions by project members, require review. We
27+
use [GitHub pull requests](https://docs.github.com/articles/about-pull-requests)
28+
for this purpose.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# strong_ptr

0 commit comments

Comments
 (0)