Skip to content

Commit d29b3c3

Browse files
authored
Merge pull request #23 from 7bitcoder/dev
Add version 3.3.0
2 parents 5ab287b + a02f34a commit d29b3c3

25 files changed

+334
-162
lines changed

.github/workflows/MacOs.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ jobs:
1919
{ tool: apple-clang },
2020
{ tool: gcc, ver: 10 },
2121
{ tool: gcc, ver: 11 },
22-
{ tool: gcc, ver: 12 },
23-
{ tool: gcc, ver: 13 } ]
22+
{ tool: gcc, ver: 12 } ]
2423
build_type: [ Release ]
2524
os: [ macos-12 ]
2625
std: [ 17 ]

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15.0)
33
set(_7BIT_DI_LIBRARY 7bitDI)
44

55
set(_7BIT_DI_VERSION_MAJOR 3)
6-
set(_7BIT_DI_VERSION_MINOR 2)
6+
set(_7BIT_DI_VERSION_MINOR 3)
77
set(_7BIT_DI_VERSION_PATCH 0)
88

99
set(_7BIT_DI_VERSION ${_7BIT_DI_VERSION_MAJOR}.${_7BIT_DI_VERSION_MINOR}.${_7BIT_DI_VERSION_PATCH})

Docs/advanced-guides.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@ Advanced Guides
1111
advanced-guides/using-aliases
1212
advanced-guides/register-utility-class
1313
advanced-guides/injected-utility-class
14-
advanced-guides/configuring-service-provider
1514
advanced-guides/building-library

Docs/advanced-guides/injected-utility-class.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
Injected Utility Class
22
========================================
33

4-
Library provides also Injected_ utility class.
5-
This base class has inject() method that can be used to inject services in simple inline way, also
6-
there are InjectedSingleton, InjectedScoped and InjectedTransient base classes that are inheriting
7-
from Injected and Registered classes to combine these two features. Injected class has also method
8-
getProvider(), raw provider can be used to get keyed services for example.
4+
The library provides also Injected_ utility class.
5+
This base class has inject() method that can be used to inject services in a simple inline way, also
6+
there are InjectedSingleton, InjectedScoped and InjectedTransient base classes that inherit
7+
from Injected and Registered classes to combine these two features. The injected class has also a method
8+
getProvider(), the raw provider can be used to get keyed services for example.
99

1010
.. _Injected: ../reference/di/utils/injected.html
1111

1212
.. note::
13-
Class should inherit Injected constructor with 'using Injected::Injected;' in public section
13+
The class should inherit Injected constructor with 'using Injected::Injected;' in the public section
1414

1515
.. literalinclude:: ../../Examples/Guides/InjectedUtilityClass.cpp
1616
:caption: Examples/Guides/InjectedUtilityClass

Docs/advanced-guides/register-utility-class.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Register Utility Class
22
========================================
33

4-
Library provides simple template RegisterService_ utility class.
5-
This base class can be used to automatically register class in service collection with use of specialised TRegisterer.
4+
The library provides a simple template RegisterService_ utility class.
5+
This base class can be used to automatically register class in service collection with the use of a specialized TRegisterer.
66
There are already created aliases RegisterSingleton_, RegisterScoped_, RegisterTransient_ that are registering services
77
in GlobalServices_ singleton.
88

99
.. note::
10-
Class should inherit Injected constructor with 'using Injected::Injected;' in public section
10+
The class should inherit Injected constructor with 'using Injected::Injected;' in the public section
1111

1212
.. _RegisterService: ../reference/di/utils/register.html
1313
.. _RegisterSingleton: ../reference/di/utils/register.html

Docs/advanced-guides/using-aliases.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ Using Aliases
22
========================================
33

44
With the use of aliases, one service can be injected through its multiple base classes, also aliases can be chained.
5-
In case of injecting multiple aliases all real services will be fetched.
5+
In case of injecting multiple aliases, all real services will be fetched.
66

77
.. warning::
88
Using aliases is resource intensive, especially for injecting transient and multiple services, provider recursively
9-
traverses through aliases chain to find proper service. Mixing scoped and singleton aliases for same base type will
9+
traverses through the aliases chain to find the proper service. Mixing scoped and singleton aliases for the same base type will
1010
lead to undefined behavior
1111

1212
.. literalinclude:: ../../Examples/Guides/ServiceAliases.cpp

Docs/basic-guides.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ Basic Guides
1212
basic-guides/injecting-multiple-services
1313
basic-guides/injection-rules
1414
basic-guides/injecting-service-provider
15+
basic-guides/configuring-service-provider

Docs/advanced-guides/configuring-service-provider.rst renamed to Docs/basic-guides/configuring-service-provider.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ read comment documentation for details:
1010
:caption: Include/SevenBit/DI/ServiceProviderOptions.hpp
1111
:language: C++
1212

13-
Pass the custom options to the ServiceCollection buildServiceProvider method to change produced
14-
service provider behaviour
13+
Pass the custom options to the ServiceCollection buildServiceProvider method to change the produced
14+
service provider behavior
1515

1616
.. literalinclude:: ../../Examples/Guides/ConfiguredServiceProvider.cpp
1717
:caption: Examples/Guides/ConfiguredServiceProvider

Docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def createIfNotExists(path):
1212
project = "7bitDI"
1313
copyright = "2023, 7BitCoder Sylwester Dawida"
1414
author = "Sylwester Dawida"
15-
version = "3.2.0"
15+
version = "3.3.0"
1616

1717
extensions = [
1818
"sphinx.ext.autodoc",

Docs/getting-started.rst

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
Getting Started
22
==========================
33

4+
Main Features
5+
--------------------
6+
7+
* Implementation separation
8+
* Multiple implementations
9+
* Keyed services
10+
* Service aliases
11+
* Thread safe
12+
* Strong destruction order
13+
414
Supported Platforms
515
--------------------
616

@@ -27,16 +37,16 @@ Installation
2737
**There are a few ways of installation:**
2838

2939

30-
#. Using Cmake fetch content api - Recommended
31-
Update CMakeLists.txt file with following code
40+
#. Using Cmake fetch content API - Recommended
41+
Update CMakeLists.txt file with the following code
3242

3343
.. code-block:: Cmake
3444
3545
include(FetchContent)
3646
FetchContent_Declare(
3747
7bitDI
3848
GIT_REPOSITORY https://github.com/7bitcoder/7bitDI.git
39-
GIT_TAG v3.2.0
49+
GIT_TAG v3.3.0
4050
)
4151
FetchContent_MakeAvailable(7bitDI)
4252
@@ -48,7 +58,7 @@ Installation
4858
.. code-block:: Txt
4959
5060
[requires]
51-
7bitdi/3.2.0
61+
7bitdi/3.3.0
5262
5363
change the version to newer if available, then run the command:
5464

0 commit comments

Comments
 (0)