Comments (1)
Oh, that's nasty.
I think the real fix is to make enum_to_string
stop relying on just-in-time creation of those maps. I'm sure the existing code is little more than an artifact of static maps being a pain to initialize in C++98; we should have upgraded it as soon as we started requiring compilers with std::initializer_list
support.
Ideally the constructor itself would be at compile-time, since there's nothing that varies from run to run about it ... but even constexpr std::vector
is a C++20 thing and I don't see any constexpr std::map
on the horizon. No matter; these are such small maps that just initializing a couple dozen of them in static constructors should be negligible cost, and they don't depend on any other objects so there should be no static constructor initialization order to worry about.
...
I hope? We don't have any other static objects that depend on these maps, surely? I'll need to leave a libmesh_assert(!foo.empty())
in the conversion routines to guard against that...
from libmesh.
Related Issues (20)
- Installation error due to petsc compatibility HOT 12
- constrain_element_matrix changes the col_dofs vector size HOT 3
- Investigating the possibility of only having one solution vector in systems HOT 3
- Make Abaqus node/side ID maps available
- DM type 'libmesh' did not attach the DM to the matrix HOT 6
- Issues with latest libmesh devel -> master merge HOT 1
- Operator `()` of a petsc vector is not safe if used together with `set()` in a threaded loop.
- The 'mesh.read()' operation encounters errors when executed with 2048 processors HOT 1
- ExodusII IO has variable ID bug which can prevent coordinates from being read-in from a file HOT 4
- The release v1.7.2 doesn't have the tarballs attached HOT 1
- "No rule to make target..." installation error on Windows HOT 3
- Install FParser `fptypes.hh` header
- Libmesh out-of-date on spack HOT 3
- install error with vcpkg on linux HOT 5
- System destructor requires the mesh to still be around, through the dof map HOT 11
- Setting a variable to zero in a given iteration
- Issue with metaphysicl tests when running "make check" HOT 5
- Issue with libmetis.so.5 while make install HOT 3
- Implement static condensation
- make error src/base/libmesh_opt_la-libmesh.lo error 1 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libmesh.