rosfmt package from rosfmt repo

rosfmt

Package Summary

Tags No category tags.
Version 7.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/xqms/rosfmt.git
VCS Type git
VCS Version master
Last Updated 2021-01-03
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

fmt is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and IOStreams.

Additional Links

No additional links.

Maintainers

  • Max Schwarz

Authors

No additional authors.

rosfmt

rosfmt is a ROS wrapper around the awesome fmt library, which offers modern C++11 type-safe formatting strings.

TLDR: Instead of

#include <ros/console.h>

ROS_INFO("Here is my string: %s. And a number: %llu",
    my_string.c_str(), my_number
);

you can now write:

#include <rosfmt/rosfmt.h>

ROSFMT_INFO("Here is my string: {}. And a number: {}",
    my_string, my_number
);

For more complicated messages, you can use named arguments:

ROSFMT_INFO("Here is my string: {str}. And a number: {num}",
    fmt::arg("str", my_string),
    fmt::arg("num", my_number)
);

Using rosfmt/full.h you can print types with std::ostream operators (ROS messages, Eigen types) and ranges such as std::vector:

#include <rosfmt/full.h>

auto x = Eigen::Matrix3d::Identity();
ROSFMT_INFO("My matrix x:\n{}", x);

Of course, you can also use fmt's API directly:

std::string str = fmt::format("my string: {}", my_string);

See the fmt documentation for more details about fmt's features. For example, you can easily define printing routines for your own data structures.

Usage

Just depend on the rosfmt catkin package as usual. One catch is that fmt requires C++11, so you need to enable that:

cmake_minimum_required(3.0)
project(my_package)

find_package(catkin REQUIRED COMPONENTS
    rosfmt
    roscpp
    rosconsole # might be required in older versions of rosfmt
)

catkin_package()
include_directories(${catkin_INCLUDE_DIRS})

# Important: enable C++11
set(CMAKE_CXX_STANDARD 11)

add_executable(my_node
    src/my_node.cpp
)
target_link_libraries(my_node
    ${catkin_LIBRARIES}
)

License

rosfmt and the underlying fmt library are licensed under the BSD-2 license.

CHANGELOG

Changelog for package rosfmt

7.0.0 (2021-01-03)

  • rename rosfmt library to rosfmt7 to prevent ABI mismatches
  • Update fmt to 7.1.2
  • cmake: fix ordering of internal include paths
  • add new full.h header (issue: #2)
  • Contributors: Max Schwarz

6.2.0 (2020-01-09)

  • ensure vformat is only instantiated once -> faster compile times
  • update to fmt 6.0.0
  • Contributors: Max Schwarz

6.1.0 (2019-05-14)

  • cmake: fix dependency tracking bugs
  • update fmt to version 5.3.0
  • Contributors: Max Schwarz

6.0.0 (2018-11-14)

  • Major release bump to decouple rosfmt and fmt versions
  • rosfmt.h: produce nicer error message if C++11 is not available
  • cmake: add transitive rosconsole / roscpp deps
  • README: add CMake example
  • Contributors: Max Schwarz

5.2.2 (2018-10-29)

  • README: syntax highlighting
  • add README.md, LICENSE.txt
  • initial commit - basics are working
  • Contributors: Max Schwarz

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosfmt at answers.ros.org

rosfmt package from rosfmt repo

rosfmt

Package Summary

Tags No category tags.
Version 7.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/xqms/rosfmt.git
VCS Type git
VCS Version master
Last Updated 2021-01-03
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

fmt is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and IOStreams.

Additional Links

No additional links.

Maintainers

  • Max Schwarz

Authors

No additional authors.

rosfmt

rosfmt is a ROS wrapper around the awesome fmt library, which offers modern C++11 type-safe formatting strings.

TLDR: Instead of

#include <ros/console.h>

ROS_INFO("Here is my string: %s. And a number: %llu",
    my_string.c_str(), my_number
);

you can now write:

#include <rosfmt/rosfmt.h>

ROSFMT_INFO("Here is my string: {}. And a number: {}",
    my_string, my_number
);

For more complicated messages, you can use named arguments:

ROSFMT_INFO("Here is my string: {str}. And a number: {num}",
    fmt::arg("str", my_string),
    fmt::arg("num", my_number)
);

Using rosfmt/full.h you can print types with std::ostream operators (ROS messages, Eigen types) and ranges such as std::vector:

#include <rosfmt/full.h>

auto x = Eigen::Matrix3d::Identity();
ROSFMT_INFO("My matrix x:\n{}", x);

Of course, you can also use fmt's API directly:

std::string str = fmt::format("my string: {}", my_string);

See the fmt documentation for more details about fmt's features. For example, you can easily define printing routines for your own data structures.

Usage

Just depend on the rosfmt catkin package as usual. One catch is that fmt requires C++11, so you need to enable that:

cmake_minimum_required(3.0)
project(my_package)

find_package(catkin REQUIRED COMPONENTS
    rosfmt
    roscpp
    rosconsole # might be required in older versions of rosfmt
)

catkin_package()
include_directories(${catkin_INCLUDE_DIRS})

# Important: enable C++11
set(CMAKE_CXX_STANDARD 11)

add_executable(my_node
    src/my_node.cpp
)
target_link_libraries(my_node
    ${catkin_LIBRARIES}
)

License

rosfmt and the underlying fmt library are licensed under the BSD-2 license.

CHANGELOG

Changelog for package rosfmt

7.0.0 (2021-01-03)

  • rename rosfmt library to rosfmt7 to prevent ABI mismatches
  • Update fmt to 7.1.2
  • cmake: fix ordering of internal include paths
  • add new full.h header (issue: #2)
  • Contributors: Max Schwarz

6.2.0 (2020-01-09)

  • ensure vformat is only instantiated once -> faster compile times
  • update to fmt 6.0.0
  • Contributors: Max Schwarz

6.1.0 (2019-05-14)

  • cmake: fix dependency tracking bugs
  • update fmt to version 5.3.0
  • Contributors: Max Schwarz

6.0.0 (2018-11-14)

  • Major release bump to decouple rosfmt and fmt versions
  • rosfmt.h: produce nicer error message if C++11 is not available
  • cmake: add transitive rosconsole / roscpp deps
  • README: add CMake example
  • Contributors: Max Schwarz

5.2.2 (2018-10-29)

  • README: syntax highlighting
  • add README.md, LICENSE.txt
  • initial commit - basics are working
  • Contributors: Max Schwarz

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosfmt at answers.ros.org

rosfmt package from rosfmt repo

rosfmt

Package Summary

Tags No category tags.
Version 7.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/xqms/rosfmt.git
VCS Type git
VCS Version master
Last Updated 2021-01-03
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

fmt is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and IOStreams.

Additional Links

No additional links.

Maintainers

  • Max Schwarz

Authors

No additional authors.

rosfmt

rosfmt is a ROS wrapper around the awesome fmt library, which offers modern C++11 type-safe formatting strings.

TLDR: Instead of

#include <ros/console.h>

ROS_INFO("Here is my string: %s. And a number: %llu",
    my_string.c_str(), my_number
);

you can now write:

#include <rosfmt/rosfmt.h>

ROSFMT_INFO("Here is my string: {}. And a number: {}",
    my_string, my_number
);

For more complicated messages, you can use named arguments:

ROSFMT_INFO("Here is my string: {str}. And a number: {num}",
    fmt::arg("str", my_string),
    fmt::arg("num", my_number)
);

Using rosfmt/full.h you can print types with std::ostream operators (ROS messages, Eigen types) and ranges such as std::vector:

#include <rosfmt/full.h>

auto x = Eigen::Matrix3d::Identity();
ROSFMT_INFO("My matrix x:\n{}", x);

Of course, you can also use fmt's API directly:

std::string str = fmt::format("my string: {}", my_string);

See the fmt documentation for more details about fmt's features. For example, you can easily define printing routines for your own data structures.

Usage

Just depend on the rosfmt catkin package as usual. One catch is that fmt requires C++11, so you need to enable that:

cmake_minimum_required(3.0)
project(my_package)

find_package(catkin REQUIRED COMPONENTS
    rosfmt
    roscpp
    rosconsole # might be required in older versions of rosfmt
)

catkin_package()
include_directories(${catkin_INCLUDE_DIRS})

# Important: enable C++11
set(CMAKE_CXX_STANDARD 11)

add_executable(my_node
    src/my_node.cpp
)
target_link_libraries(my_node
    ${catkin_LIBRARIES}
)

License

rosfmt and the underlying fmt library are licensed under the BSD-2 license.

CHANGELOG

Changelog for package rosfmt

7.0.0 (2021-01-03)

  • rename rosfmt library to rosfmt7 to prevent ABI mismatches
  • Update fmt to 7.1.2
  • cmake: fix ordering of internal include paths
  • add new full.h header (issue: #2)
  • Contributors: Max Schwarz

6.2.0 (2020-01-09)

  • ensure vformat is only instantiated once -> faster compile times
  • update to fmt 6.0.0
  • Contributors: Max Schwarz

6.1.0 (2019-05-14)

  • cmake: fix dependency tracking bugs
  • update fmt to version 5.3.0
  • Contributors: Max Schwarz

6.0.0 (2018-11-14)

  • Major release bump to decouple rosfmt and fmt versions
  • rosfmt.h: produce nicer error message if C++11 is not available
  • cmake: add transitive rosconsole / roscpp deps
  • README: add CMake example
  • Contributors: Max Schwarz

5.2.2 (2018-10-29)

  • README: syntax highlighting
  • add README.md, LICENSE.txt
  • initial commit - basics are working
  • Contributors: Max Schwarz

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosfmt at answers.ros.org

rosfmt package from rosfmt repo

rosfmt

Package Summary

Tags No category tags.
Version 7.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/xqms/rosfmt.git
VCS Type git
VCS Version master
Last Updated 2021-01-03
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

fmt is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and IOStreams.

Additional Links

No additional links.

Maintainers

  • Max Schwarz

Authors

No additional authors.

rosfmt

rosfmt is a ROS wrapper around the awesome fmt library, which offers modern C++11 type-safe formatting strings.

TLDR: Instead of

#include <ros/console.h>

ROS_INFO("Here is my string: %s. And a number: %llu",
    my_string.c_str(), my_number
);

you can now write:

#include <rosfmt/rosfmt.h>

ROSFMT_INFO("Here is my string: {}. And a number: {}",
    my_string, my_number
);

For more complicated messages, you can use named arguments:

ROSFMT_INFO("Here is my string: {str}. And a number: {num}",
    fmt::arg("str", my_string),
    fmt::arg("num", my_number)
);

Using rosfmt/full.h you can print types with std::ostream operators (ROS messages, Eigen types) and ranges such as std::vector:

#include <rosfmt/full.h>

auto x = Eigen::Matrix3d::Identity();
ROSFMT_INFO("My matrix x:\n{}", x);

Of course, you can also use fmt's API directly:

std::string str = fmt::format("my string: {}", my_string);

See the fmt documentation for more details about fmt's features. For example, you can easily define printing routines for your own data structures.

Usage

Just depend on the rosfmt catkin package as usual. One catch is that fmt requires C++11, so you need to enable that:

cmake_minimum_required(3.0)
project(my_package)

find_package(catkin REQUIRED COMPONENTS
    rosfmt
    roscpp
    rosconsole # might be required in older versions of rosfmt
)

catkin_package()
include_directories(${catkin_INCLUDE_DIRS})

# Important: enable C++11
set(CMAKE_CXX_STANDARD 11)

add_executable(my_node
    src/my_node.cpp
)
target_link_libraries(my_node
    ${catkin_LIBRARIES}
)

License

rosfmt and the underlying fmt library are licensed under the BSD-2 license.

CHANGELOG

Changelog for package rosfmt

7.0.0 (2021-01-03)

  • rename rosfmt library to rosfmt7 to prevent ABI mismatches
  • Update fmt to 7.1.2
  • cmake: fix ordering of internal include paths
  • add new full.h header (issue: #2)
  • Contributors: Max Schwarz

6.2.0 (2020-01-09)

  • ensure vformat is only instantiated once -> faster compile times
  • update to fmt 6.0.0
  • Contributors: Max Schwarz

6.1.0 (2019-05-14)

  • cmake: fix dependency tracking bugs
  • update fmt to version 5.3.0
  • Contributors: Max Schwarz

6.0.0 (2018-11-14)

  • Major release bump to decouple rosfmt and fmt versions
  • rosfmt.h: produce nicer error message if C++11 is not available
  • cmake: add transitive rosconsole / roscpp deps
  • README: add CMake example
  • Contributors: Max Schwarz

5.2.2 (2018-10-29)

  • README: syntax highlighting
  • add README.md, LICENSE.txt
  • initial commit - basics are working
  • Contributors: Max Schwarz

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosfmt at answers.ros.org